package com.powerband.apiheartrate.heartrate

import com.powerband.apiheartrate.base.FBKApiBaseMethod
import com.powerband.apiheartrate.ble.fbkBleDevice.FBKBleDevice
import com.powerband.apiheartrate.ble.fbkBleDevice.FBKBleDeviceStatus
import com.powerband.apiheartrate.ota.OtaError
import com.powerband.apiheartrate.ota.OtaStatus

interface FBKBleCallBack {
    /**
     * 设备连接相关错误
     * @param errorStr 错误
     * @param baseMethod 接口实例对象， 可从中获取bluetooth对象
     */
    fun bleConnectError(errorStr: String?, baseMethod: FBKApiBaseMethod?)

    /**
     * 蓝牙设备连接状态
     * @param deviceStatus 设备当前状态
     * @param baseMethod 接口实例对象， 可从中获取bluetooth对象
     */
    fun bleConnectStatus(
        deviceStatus: FBKBleDeviceStatus?,
        baseMethod: FBKApiBaseMethod?
    )

    /**
     * 设备连接状态日志
     * @param logStr 日志
     * @param baseMethod 接口实例对象， 可从中获取bluetooth对象
     */
    fun bleConnectStatusLog(logStr: String?, baseMethod: FBKApiBaseMethod?)

    fun bleOtaLog(state: OtaStatus, progress: Float)

    fun bleOtaError(error: OtaError)
}